import { QueryPage } from '../common/type'

/**
 * 成本核价方案列表查询参数
 */
export interface CostPricingPlanListParam extends QueryPage {
  projectId?: number
  activate?: number
}

/**
 * 成本核价方案
 */
export interface CostPricingPlan {
  id?: number
  projectId?: number
  projectName?: string
  docType?: string
  totalPrice?: number
  remark?: string
  activate?: number
  createTime?: string
  updateTime?: string
  createId?: number
  createName?: string
  updateId?: number
  updateName?: string
  materialCoefficient?: number
  costDetailList?: any[]
  additionalTableData?: any[]
}

/**
 * 批量更新状态DTO
 */
export interface CostPricingPlanBatchUpdateStatusDto {
  ids: number[]
  activate: number
}

/**
 * 批量复制DTO
 */
export interface CostPricingPlanBatchCopyDto {
  sourceIds: number[]
  targetProjectId: number
}

/**
 * 导出字段信息
 */
export interface ExportFieldInfo {
  fieldName: string
  displayName: string
}

/**
 * 导出请求
 */
export interface ExportRequest {
  fields: string[]
  searchParam?: CostPricingPlanListParam
}

/**
 * 额外表格数据类型
 */
export interface additionalTableData {
  [key: string]: any
}

/**
 * 成本方案类型
 */
export interface costPlan {
  [key: string]: any
}

/**
 * 成本核价方案列表参数 (别名)
 */
export interface costPlanListParam extends CostPricingPlanListParam {}